#ifndef PUBLIC_H
#define PUBLIC_H

#include <QString>
#include <QStringList>
#include <QtXlsx/xlsxdocument.h>
#include <QtXlsx/xlsxworkbook.h>
#include <QtXlsx/xlsxworksheet.h>
#include <stdio.h>

enum { noUse = 0, fiveGet, sixGet, sixSplit };

typedef struct {
  qint8 classType; /* 0 未定义,1 五级部门拆分表,2 五级部门提取指定部门,3
                      六级部门拆分表,4 六级部门提取指定部门,5
                      自定义(五级)提取部门表,6 自定义(六级)提取部门表 保留 */
  QStringList classList;
} sectorClass_t;

typedef struct {
  bool isDel; /* true 删除,false 不操作 */
  QStringList delCoumnList;
} delColumn_t;

typedef struct {
  bool isAdd;               /* true 删除,false 不操作 */
  QString coumnName;        /* 列名 */
  QStringList AddCoumnList; /* 计算公式 */
} calculation_t;

typedef struct {
  QString xlsxName;         /* 表格名称 */
  QString savePath;         /* 保存路径 */
  sectorClass_t sector;     /* 提取信息 */
  delColumn_t delColumn;    /* 待删除信息 */
  calculation_t calulation; /* 添加信息 */
} xlsxParam_t;

typedef void (*procXlsx)(xlsxParam_t &);
#endif // PUBLIC_H
